package com.gkzf.ai.module.crm.service.product.admin;

import com.gkzf.ai.module.crm.controller.admin.product.vo.productadmittancecondition.ProductAdmittanceConditionRespVO;
import com.gkzf.ai.module.crm.controller.admin.product.vo.productadmittancecondition.ProductAdmittanceConditionSaveReqVO;
import jakarta.validation.Valid;


/**
 * CRM 产品准入条件 Service 接口
 *
 * @author 国科智飞
 */
public interface ProductAdmittanceConditionService {

    /**
     * 创建CRM 产品准入条件
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createProductAdmittanceCondition(@Valid ProductAdmittanceConditionSaveReqVO createReqVO);

    /**
     * 更新CRM 产品准入条件
     *
     * @param updateReqVO 更新信息
     */
    void updateProductAdmittanceCondition(@Valid ProductAdmittanceConditionSaveReqVO updateReqVO);

    /**
     * 修改准入条件合作机构
     * @param productNo 产品编号
     * @param cooperationInstitution 合作机构
     */
    void updateCooperationInstitution(String productNo,Integer cooperationInstitution);

    /**
     * 删除CRM 产品准入条件
     *
     * @param projectNo 编号
     */
    void deleteProductAdmittanceCondition(String projectNo);

    /**
     * 获得CRM 产品准入条件
     *
     * @param id 编号
     * @return CRM 产品准入条件
     */
    ProductAdmittanceConditionRespVO getProductAdmittanceCondition(String no);

    /**
     *
     * @param productNo
     * @return
     */
    Integer getProductAdmittanceConditionCount(String productNo);


}